#ifndef GENERADORNUMEROSALEATORIOS_H
#define	GENERADORNUMEROSALEATORIOS_H

#include <iostream>
#include <cstdlib>
#include <ctime>

/**
 * Clase generadora de números aleatorios a partir de un intervalo definido por 
 * el usuario.
 */

namespace TP { namespace Aleatorizacion {

typedef double num_t;
    
class GeneradorNumerosAleatorios {
public:
    
    /**
     * Crea un generador de números aleatorios.
     * @param r_min Valor mínimo del rango de generación de números aleatorios.
     * @param r_Max Valor máximo del rango de generación de números aleatorios.
     */
    GeneradorNumerosAleatorios(const num_t &r_min, const num_t &r_Max);

    // Libera los recursos asocioados con la instancia.
    virtual ~GeneradorNumerosAleatorios();
    
    /**
     * @return Retorna un vaor aleatorio dentro del intervalo pasado en el cons-
     * tructor.
     */
    num_t generarNumero() const;
    
private:
    num_t _r_min;
    num_t _r_Max;
};
}}

#endif	/* GENERADORNUMEROSALEATORIOS_H */

